iT邦幫忙

2023 iThome 鐵人賽

DAY 1
0
DevOps

CDK 從 0 開始打造靈活自如的 IaC系列 第 1

01 - CDK 初心者

  • 分享至 

  • xImage
  •  

本篇文章內有:

  • 簡介 CDK
  • AWS 帳號
  • 安裝 CDK

簡介 CDK

第一天先來介紹一下什麼是 CDK,不對,在這之前可能要先聊一下在標題的 IaC 是什麼東西。

在開發各種應用程式的時候,我們總是要把這些成品或半成品放在某個地方運行起來。
這個地方可以是直接從 CLI 跑起來;也許他已經在容器 (container) 內好好的包起來,用 Docker 管理;或者在雲端供應商,像是 AWS 、 Azure 、 GCP ,上面開好機器準備服務使用者。
在設置這些運行應用程式的載體時,很多時間都是手動建立的。遇到了 bug 就口耳相傳怎麼繞開,或是錄影存證整個設置流程。
在歷史的滾動中,這往往會變成一脈相承,更多時候會絕後,沒有人知道這上古卷軸是如何編織成冊的。

基礎架構即代碼 IaC (Infrastructure as Code) 就這樣出現了, AWS CloudFormation 就是 AWS 所提供的 IaC 解決方案。
在一開始 IaC 都還只是些由標記語言,例如 JSON 、 YAML,所編寫的檔案,雖然他解決了人為操作失誤的問題,但是對於開發人員的友善度可能只能算擦邊球及格,無論是上萬行的 YAML 或是各種服務自定義的關鍵字。

而 AWS CDK 就此應運而生。AWS CDK
在 2019/07/11 發佈AWS Cloud Development Kit (AWS CDK) , 2021/04/30 開始 進行 AWS Cloud Development Kit (AWS CDK) v2 的公測,並在 2021/12/02 釋出 AWS Cloud Development Kit (AWS CDK) v2

在揮別標記語言之後迎來的是各種 (JavaScript, TypeScript, Python, Java, .NET, Go) 在寫應用程式時常用的語言,可以選擇自己熟悉的語言來編寫 IaC 、加測試腳本、整合 CLI ……等等,都是 AWS CDK 所帶來的好處。

AWS 帳號

在進入正題前,我們先來準備 AWS 帳號
AWS sign up email

這系列文章會盡量控制在免付費範圍內,但還是要記得隨手關資源,救救荷包君。
AWS sign up phone

請準備一張可以進行跨國非過卡交易的信用卡。
AWS sign up payment

最後一步就不要多花錢了,免費的就好。
AWS sign up support

申請完成後,登入 AWS Console ,從右上角的帳戶名稱進入 Billing Dashboard , AWS 在收錢之前會在這邊列出所有的細項。
AWS Billing Dashboard

左邊的 Billing > Free tier 則會列出所有使用中的免費試用項目。
AWS Free Tier

在練習完之後,可以選擇從從右上角的帳戶名稱進入 Account ,在最下面選擇關閉帳戶。
注意:在關閉前請務必閱讀上面所有的事項。
AWS Close Account

關閉之後會看到這個畫面。
AWS Account Closed

安裝 CDK

在了解 CDK 是什麼之後,今天就來設置用來開發的環境,這邊文章主要語言會使用。
為了要安裝會用到的東西,這邊推薦兩個軟體套件管理系統, macOS 上面首選 Homebrew ,而 Windows 可以用 Scoop
官方可能會推薦各自不同的安裝手法,有興趣可以多多比較。

這邊先列出在這系列文章中會用到的所有軟體:

可以用以下指令安裝,這邊根據不同 OS 會有各自的指令,往後文章中如果沒有特別標明,就表示指令是通用的。
macOS:

brew install \
	awscli \
	node@18\
	visual-studio-code

Windows:

scoop install git
scoop bucket add extras
scoop install `
	aws `
	nodejs-lts `
	vscode

好的,到這邊就結束了,然而會發現其實以上的指令都沒提及 AWS CDK ,這是因為 AWS CDK 實際上是一個 npm 套件,在建立 AWS CDK 專案的同時, npm 就會幫忙安裝好 AWS CDK 了。


希望到這邊,大家已經對 AWS CDK 的背景跟應用場景略懂略懂,手邊也有了 AWS 帳號可以玩弄,需要的軟體也都裝好了,接下來我們將正式從 0 開始。


下一篇
02 - 第一個 CDK
系列文
CDK 從 0 開始打造靈活自如的 IaC7
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言